package com.moshme.project.domain;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.util.List;
import java.time.LocalDateTime;

import java.io.Serializable;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.moshme.framework.config.SeparatorCommaToListTypeHandler;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiModel;
import org.hibernate.validator.constraints.Length;
import lombok.Data;

/**
* 勘察阶段有限空间表
* @TableName stage_survey_confined_space
*/
@TableName(value = "stage_survey_confined_space",autoResultMap = true)
@Data
@ApiModel(value="StageSurveyConfinedSpace对象", description="勘察阶段有限空间表")
public class StageSurveyConfinedSpace implements Serializable {


    /**
    * id
    */
    @TableId(type = IdType.AUTO)
    @NotNull(message="[id]不能为空")
    @ApiModelProperty("id")
    private Long id;


    /**
    * 项目id
    */
    @ApiModelProperty("项目id")
    private Long projectId;


    /**
    * 管道口径
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("管道口径")
    @Length(max= 255,message="编码长度不能超过255")
    private String pipeDiameter;


    /**
    * 空间类型
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("空间类型")
    @Length(max= 255,message="编码长度不能超过255")
    private String spaceType;


    /**
    * 通风效果
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("通风效果")
    @Length(max= 255,message="编码长度不能超过255")
    private String ventilationEffect;


    /**
    * 密闭面积
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("密闭面积")
    @Length(max= 255,message="编码长度不能超过255")
    private String closedArea;


    /**
    * 甲烷浓度
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("甲烷浓度")
    @Length(max= 255,message="编码长度不能超过255")
    private String cscMethaneConcentration;


    /**
    * 一氧化碳浓度
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("一氧化碳浓度")
    @Length(max= 255,message="编码长度不能超过255")
    private String cscCarbonMonoxideConcentration;


    /**
    * 氧气浓度
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("氧气浓度")
    @Length(max= 255,message="编码长度不能超过255")
    private String oxygenConcentration;


    /**
    * 无隐患
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("无隐患")
    private List<String> noHiddenDangers;


    /**
    * 阀门损坏
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("阀门损坏")
    private List<String> valveDamage;


    /**
    * 管道占压
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("管道占压")
    private List<String> pipelinePressure;


    /**
    * 管道法兰生锈
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("管道法兰生锈")
    private List<String> rustOnPipelineFlanges;


    /**
     * 有限空间其他隐患
     */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("有限空间其他隐患")
    private List<String> confinedSpaceOtherDanger;


    /**
    * 厨房燃具
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("厨房燃具")
    @Length(max= 255,message="编码长度不能超过255")
    private String kitchenGasAppliances;


    /**
    * 生活锅炉
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("生活锅炉")
    @Length(max= 255,message="编码长度不能超过255")
    private String livingBoiler;


    /**
    * 生产锅炉
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("生产锅炉")
    @Length(max= 255,message="编码长度不能超过255")
    private String productionBoiler;


    /**
    * 生产燃具
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("生产燃具")
    @Length(max= 255,message="编码长度不能超过255")
    private String productionOfGasAppliances;


    /**
    * 发电设备
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("发电设备")
    @Length(max= 255,message="编码长度不能超过255")
    private String powerPlant;


    /**
    * 泄漏探测
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("泄漏探测")
    @Length(max= 255,message="编码长度不能超过255")
    private String leakDetections;


    /**
    * 报警器
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("报警器")
    @Length(max= 255,message="编码长度不能超过255")
    private String alarm;


    /**
    * 风机配置
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("风机配置")
    @Length(max= 255,message="编码长度不能超过255")
    private String fanConfiguration;


    /**
    * 报警联动
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("报警联动")
    @Length(max= 255,message="编码长度不能超过255")
    private String alarmLinkage;


    /**
    * 配电箱
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("配电箱")
    @Length(max= 255,message="编码长度不能超过255")
    private String distributionBox;


    /**
    * 泄露值
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("泄露值")
    @Length(max= 255,message="编码长度不能超过255")
    private String leakageValue;


    /**
    * 排水系统
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("排水系统")
    @Length(max= 255,message="编码长度不能超过255")
    private String drainageSystem;


    /**
    * 硫化氢值
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("硫化氢值")
    @Length(max= 255,message="编码长度不能超过255")
    private String hydrogenSulfideValue;


    /**
    * 全景图
    */

    @ApiModelProperty("全景图")
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    private List<String> panorama;


    /**
    * 管道设备连接图
    */
    @ApiModelProperty("管道设备连接图")
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    private List<String> pipelineEquipmentConnectionDiagram;


    /**
    * 备注
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("备注")
    @Length(max= 255,message="编码长度不能超过255")
    private String notes;


    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;


    /**
     * 创建人
     */
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("创建人")
    @Length(max= 50,message="编码长度不能超过50")
    @TableField(fill = FieldFill.INSERT)
    private String createBy;


    /**
    * 修改时间
    */
    @ApiModelProperty("修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;


    /**
    * 修改人
    */
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("修改人")
    @Length(max= 50,message="编码长度不能超过50")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    @TableField(exist = false)
    private static final long serialVersionUID=1L;

}

